package com.sbtr.open.trainingtask.dto;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 训练任务表
 * </p>
 *
 * @author wangwh15

 */
public class TrainingInfoDto implements Serializable {

    private static final long serialVersionUID=1L;
    
    /**
     * 任务未开始状态，任务创建完成，未发送到GPU服务器中执行
     */
    public static final String TASK_STATUS_NOTSTARTED = "NotStarted";
    /**
     * 任务排队状态，等待GPU服务器进行训练
     */
    public static final String TASK_STATUS_QUEUING = "queuing";
    /**
     * 任务运行状态，GPU服务器正向训练
     */
    public static final String TASK_STATUS_RUNNING = "running";
    /**
     * 任务完成状态，任务已经训练完成
     */
    public static final String TASK_STATUS_COMPLETE = "complete";
    /**
     * 任务异常状态，训练过程异常等
     */
    public static final String TASK_STATUS_ERROR = "error";
    /**
     * 任务停止状态，训练任务停止
     */
    public static final String TASK_STATUS_STOP = "stop";
    /**
     * 任务暂停状态，训练任务暂停
     */
    public static final String TASK_STATUS_PAUSE = "pause";
    
    /**
     * 主键
     */
    private Long id;


	public String getExtraParam() {
		return extraParam;
	}

	public void setExtraParam(String extraParam) {
		this.extraParam = extraParam;
	}

	private String extraParam;


    /**
     * 关联项目id
     */
    private Long projectId;


    //文件id
	private Long fileId;

	//文件名
	private String fileName;

	//变量名
	private String variableName;

	//目标列
	private String targetColumn;

	/**
	 * 算法类型
	 */
	private String algorithmName;

    /**
     * 任务类型 0:分类 1:检测
     */
    private String type;

    //
    private Integer diagnoseType;


    //比例
	private String proportion;

    /**
     * 任务状态
     */
    private String status;

    /**
     * 创建者
     */
    private String creater;

    /**
     * 创建时间
     */
    private Date createTime;

	/**
	 * 模型训练错误类型
	 */
	private String errorInformation;

	/**
	 * 任务类型，自选1,自动2
	 */
	private Integer taskType;

	/**
	 * 项目类型
	 */
	private String projectType;


	public Integer getDiagnoseType() {
		return diagnoseType;
	}

	public void setDiagnoseType(Integer diagnoseType) {
		this.diagnoseType = diagnoseType;
	}

	public String getProjectType() {
		return projectType;
	}

	public void setProjectType(String projectType) {
		this.projectType = projectType;
	}

	public Integer getTaskType() {
		return taskType;
	}

	public void setTaskType(Integer taskType) {
		this.taskType = taskType;
	}

	public String getErrorInformation() {
		return errorInformation;
	}

	public void setErrorInformation(String errorInformation) {
		this.errorInformation = errorInformation;
	}

	public Long getProjectId() {
		return projectId;
	}

	public String getVariableName() {
		return variableName;
	}

	public String getType() {
		return type;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getCreater() {
		return creater;
	}

	public void setCreater(String creater) {
		this.creater = creater;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getProportion() {
		return proportion;
	}

	public void setProportion(String proportion) {
		this.proportion = proportion;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getAlgorithmName() {
		return algorithmName;
	}

	public void setAlgorithmName(String algorithmName) {
		this.algorithmName = algorithmName;
	}

	public String getTargetColumn() {
		return targetColumn;
	}

	public void setTargetColumn(String targetColumn) {
		this.targetColumn = targetColumn;
	}

	public void setVariableName(String variableName) {
		this.variableName = variableName;
	}

	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	public Long getFileId() {
		return fileId;
	}

	public void setFileId(Long fileId) {
		this.fileId = fileId;
	}

	public void setProjectId(Long projectId) {
		this.projectId = projectId;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}
}
